//package com.yl.test;
//
//import okhttp3.OkHttpClient;
//import org.apache.flink.configuration.Configuration;
//import org.apache.flink.streaming.api.functions.sink.RichSinkFunction;
//import org.influxdb.InfluxDB;
//import org.influxdb.InfluxDBFactory;
//
//import java.util.concurrent.TimeUnit;
//
///**
// * @author wlf
// * @since 2022/8/1
// */
//public class StrInfluxSink extends RichSinkFunction<String> {
//
//    private InfluxDB influxDB;
//
//    @Override
//    public void open(Configuration parameters) throws Exception {
//        super.open(parameters);
//        influxDB = getInfluxDB();
//    }
//
//    @Override
//    public void invoke(String value, Context context) throws Exception {
//        influxDB.write(value);
//    }
//
//    @Override
//    public void close() throws Exception {
//        super.close();
//        if (influxDB != null) {
//            influxDB.close();
//        }
//    }
//
//    /**
//     * 获取 influxdb 连接
//     */
//    private InfluxDB getInfluxDB() {
//        String serverURL = "http://elephant:8086";
//        String username = "admin";
//        String password = "cloudansys[admin]";
//        String database = "db_common";
//        OkHttpClient.Builder clientBuilder = new OkHttpClient.Builder().readTimeout(100, TimeUnit.SECONDS);
//        // 批大小（万条）
//        int batchSize = 20;
//        // 写间隔（ms）
//        int interval = 1000;
//        return InfluxDBFactory
//                .connect(serverURL, username, password, clientBuilder)
//                .setDatabase(database)
//                .enableBatch();
//                // 第一个是point的个数，第二个是时间，单位毫秒，第三个时间单位
////                .enableBatch(batchSize * 10000, interval, TimeUnit.MILLISECONDS);
//    }
//
//}
